package com.gugee.ins.data.task.mark;

import com.gugee.ins.data.task.mark.service.*;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * Description: 博主打点任务
 * @author Huangxin
 */
@Component
@Slf4j
public class InsMarkTask {

    /**
     * insBloggerMarkDaySvc
     */
    @Autowired
    InsBloggerMarkDaySvc insBloggerMarkDaySvc;

    /**
     * insRkBloggerFgDaySvc
     */
    @Autowired
    InsRkBloggerFgDaySvc insRkBloggerFgDaySvc;

    /**
     * insRkBloggerFgWeekSvc
     */
    @Autowired
    InsRkBloggerFgWeekSvc insRkBloggerFgWeekSvc;

    /**
     * insRkBloggerFgMonthSvc
     */
    @Autowired
    InsRkBloggerFgMonthSvc insRkBloggerFgMonthSvc;

    /**
     * insRkBloggerFlMonthSvc
     */
    @Autowired
    InsRkBloggerFlMonthSvc insRkBloggerFlMonthSvc;

    /**
     * insStBloggerCfsSvc
     */
    @Autowired
    InsStBloggerCfsSvc insStBloggerCfsSvc;

    /**
     * insRkBloggerAdecWeekSvc
     */
    @Autowired
    InsRkBloggeAdecWeekSvc insRkBloggerAdecWeekSvc;

    /**
     * insRkBloggerAdecMonthSvc
     */
    @Autowired
    InsRkBloggerAdecMonthSvc insRkBloggerAdecMonthSvc;

    /**
     * insRkProductMonthSvc
     */
    @Autowired
    InsRkProductMonthSvc insRkProductMonthSvc;

    /**
     * insRkProductWeekSvc
     */
    @Autowired
    InsRkProductWeekSvc insRkProductWeekSvc;

    /**
     * insBrandMarkSvc
     */
    @Autowired
    InsBrandMarkSvc insBrandMarkSvc;

    /**
     * insRkBrandDaySvc
     */
    @Autowired
    InsRkBrandDaySvc insRkBrandDaySvc;

    /**
     * insRkBrandDaySvc
     */
    @Autowired
    InsRkBrandWeekSvc insRkBrandWeekSvc;

    /**
     * insRkBrandDaySvc
     */
    @Autowired
    InsRkBrandMonthSvc insRkBrandMonthSvc;

    /**
     * insBloggerBgsMarkSvc
     */
    @Autowired
    InsBloggerBgsMarkSvc insBloggerBgsMarkSvc;

    /**
     * insRkBloggerBgsDaySvc
     */
    @Autowired
    InsRkBloggerBgsDaySvc insRkBloggerBgsDaySvc;

    /**
     * insRkBloggerBgsWeekSvc
     */
    @Autowired
    InsRkBloggerBgsWeekSvc insRkBloggerBgsWeekSvc;

    /**
     * insRkBloggerBgsMonthSvc
     */
    @Autowired
    InsRkBloggerBgsMonthSvc insRkBloggerBgsMonthSvc;

    /**
     * 发送博主日打点消息
     * @return 调度结果
     */
    @XxlJob("sendInsBloggerMarkDayMsg")
    public ReturnT<String> sendInsBloggerMarkDayMsg(String param) {
        return insBloggerMarkDaySvc.xxlJobStart("ins大博主发送需要日打点消息 ",param);
    }

    /**
     * ins大博主分类、粉丝增长数日排行表
     * @return 调度结果
     */
    @XxlJob("insRkBloggerFgDay")
    public ReturnT<String> insRkBloggerFgDay(String param) {
        return insRkBloggerFgDaySvc.xxlJobStart("ins大博主分类、粉丝增长数日榜单",param);
    }

    /**
     * ins大博主分类、粉丝增长数周排行表
     * @return 调度结果
     */
    @XxlJob("insRkBloggerFgWeek")
    public ReturnT<String> insRkBloggerFgWeek(String param) {
        return insRkBloggerFgWeekSvc.xxlJobStart("ins大博主分类、粉丝增长数周榜单",param);
    }

    /**
     * ins大博主分类、粉丝增长数月排行表
     * @return 调度结果
     */
    @XxlJob("insRkBloggerFgMonth")
    public ReturnT<String> insRkBloggerFgMonth(String param) {
        return insRkBloggerFgMonthSvc.xxlJobStart("ins大博主分类、粉丝增长数月榜单",param);
    }

    /**
     * ins大博主国家、分类、粉丝数月榜单
     * @return 调度结果
     */
    @XxlJob("insRkBloggerFlMonth")
    public ReturnT<String> insRkBloggerFlMonth(String param) {
        return insRkBloggerFlMonthSvc.xxlJobStart("ins大博主国家、分类、粉丝数月榜单",param);
    }

    /**
     * 更新 ins同分类同量级估算排名任务
     * @return 调度结果
     */
    @XxlJob("updateInsStBloggerCfs")
    public ReturnT<String> updateInsStBloggerCfs(String param) {
        return insStBloggerCfsSvc.xxlJobStart("更新 ins同分类同量级估算排名 ",param);
    }

    /**
     * ins大博主分类、广告帖子总参与数周榜单
     * @return 调度结果
     */
    @XxlJob("insRkBloggerAdecWeek")
    public ReturnT<String> insRkBloggerAdecWeek(String param) {
        return insRkBloggerAdecWeekSvc.xxlJobStart("ins大博主分类、广告帖子总参与数周榜单",param);
    }

    /**
     * ins大博主分类、广告帖子总参与数月榜单
     * @return 调度结果
     */
    @XxlJob("insRkBloggerAdecMonth")
    public ReturnT<String> insRkBloggerAdecMonth(String param) {
        return insRkBloggerAdecMonthSvc.xxlJobStart("ins大博主分类、广告帖子总参与数月榜单",param);
    }

    /**
     * ins商品热度周排行榜单
     * @return 调度结果
     */
    @XxlJob("insRkProductWeek")
    public ReturnT<String> insRkProductWeek(String param) {
        return insRkProductWeekSvc.xxlJobStart("ins商品热度周排行榜单",param);
    }

    /**
     * ins商品热度月排行榜单
     * @return 调度结果
     */
    @XxlJob("insRkProductMonth")
    public ReturnT<String> insRkProductMonth(String param) {
        return insRkProductMonthSvc.xxlJobStart("ins商品热度月排行榜单",param);
    }

    /**
     * 发送品牌日打点消息
     * @return 调度结果
     */
    @XxlJob("sendInsBrandMarkMsg")
    public ReturnT<String> sendInsBrandMarkMsg(String param) {
        return insBrandMarkSvc.xxlJobStart("ins品牌发送需要打点消息 ",param);
    }

    /**
     * ins 品牌 日排行榜单
     * @return 调度结果
     */
    @XxlJob("InsRkBrandDay")
    public ReturnT<String> insRkBrandDay(String param) {
        return insRkBrandDaySvc.xxlJobStart("ins品牌日排行榜单 ",param);
    }

    /**
     * ins 品牌 周排行榜单
     * @return 调度结果
     */
    @XxlJob("InsRkBrandWeek")
    public ReturnT<String> insRkBrandWeek(String param) {
        return insRkBrandWeekSvc.xxlJobStart("ins品牌周排行榜单 ",param);
    }

    /**
     * ins 品牌 月排行榜单
     * @return 调度结果
     */
    @XxlJob("InsRkBrandMonth")
    public ReturnT<String> insRkBrandMonth(String param) {
        return insRkBrandMonthSvc.xxlJobStart("ins品牌月排行榜单 ",param);
    }

    /**
     * 带货达人日打点消息
     * @return 调度结果
     */
    @XxlJob("insBloggerBgsMark")
    public ReturnT<String> insBloggerBgsMark(String param) {
        return insBloggerBgsMarkSvc.xxlJobStart("ins带货达人日打点消息 ",param);
    }

    /**
     * ins 带货达人日排行榜单
     * @return 调度结果
     */
    @XxlJob("insRkBloggerBgsDay")
    public ReturnT<String> insRkBloggerBgsDay(String param) {
        return insRkBloggerBgsDaySvc.xxlJobStart("ins带货达人日排行榜单 ",param);
    }

    /**
     * ins 带货达人周排行榜单
     * @return 调度结果
     */
    @XxlJob("insRkBloggerBgsWeek")
    public ReturnT<String> insRkBloggerBgsWeek(String param) {
        return insRkBloggerBgsWeekSvc.xxlJobStart("ins带货达人周排行榜单 ",param);
    }

    /**
     * ins 带货达人月排行榜单
     * @return 调度结果
     */
    @XxlJob("insRkBloggerBgsMonth")
    public ReturnT<String> insRkBloggerBgsMonth(String param) {
        return insRkBloggerBgsMonthSvc.xxlJobStart("ins带货达人月排行榜单 ",param);
    }
}
